The present invention relates to logic simulation of semiconductor integrated circuits. More particularly, it relates to a signal-waveform calculating method and apparatus for calculating the slew or the like of a signal waveform on the rising or falling edge in a CMOS circuit and to a signal-propagation-time calculating method and apparatus based on the signal waveform.
As higher-speed, lower-voltage operation has been required of integrated circuits in recent years, logic simulation in the design stage has increased in importance. As a result, logic simulation technology with higher accuracy has been in increasing demand.
In conventional logic simulation, a signal delay time in each cell of a semiconductor integrated circuit has been calculated in accordance with a linear expression using the load capacity of a wire connected to the cell.
As a technique for improving the accuracy of logic simulation, there has been proposed a method whereby a signal delay time in each cell of a semiconductor integrate circuit is calculated in consideration of the waveform of an input signal. An example of the calculation method is disclosed in Japanese Laid-Open Patent Publication HEI 1-271869.
A signal delay time in a cell greatly varies according to whether an input signal has a waveform with a small slew which entails a short rise or fall time or a waveform with a large slew which entails a long rise of fall time. Accordingly, in the foregoing method, the load capacity of a wire connected to an output terminal of a cell and the rise time of an input signal are calculated such that a signal delay time is calculated based on the calculated load capacity and rise time of the signal, thereby providing a value closer to an actual delay time.
A signal waveform at an input terminal of a cell of concern is influenced by a signal waveform at an output terminal of a cell in a previous stage connected to the input terminal of the cell of concern. Moreover, the signal waveform at the output terminal of the cell in the previous stage is also influenced by a waveform at an input terminal of a cell in a further previous stage.
For example, when cells 51 and 52 are connected in series as shown in FIG. 8(a), if the waveform of an input signal port 50 changes, a signal delay time in the cell 51 changes. Since a signal waveform at an output terminal of the cell 51 changes, the signal waveform at an input of the cell 52 also changes, which changes a signal delay time in a cell 52. Thus, as shown in FIG. 8(b), the respective signal delay times in the cells 51 and 52 change with the changing of the waveform of the input signal port 50. To calculate a signal delay time in each cell, therefore, it is required to trace back the path of the input signal and calculate its previous waveforms.
However, the conventional method has the following problems.
As described above, to calculate a signal delay time in each cell, it is required to trace back the path of the input signal and calculate its previous waveforms. In this case, if the circuit is composed only of cells connected in series, there should be no problem. However, if the circuit includes a feedback loop as shown in FIG. 3, an endless loop may occur in the process of tracing back the path of the input signal and calculate its previous waveforms.
If a cell has a plurality of input terminals, on the other hand, the slews of signal waveforms at respective input terminals of the cell are generally different from each other. As a result, the slews of the signal waveforms at an output terminal of the cell are different from each other depending on the input signals that have changed the signal waveforms. In a cell having a plurality of input terminals, the slew of a signal waveform at the output terminal has conventionally been calculated by using a maximum, minimum, or mean value of the slew of signal waveforms at the input terminals. Consequently, if the waveforms are greatly different from each other depending on the input signals, the delay time cannot be calculated with accuracy. To improve the accuracy with which the delay time is calculated, there has also been proposed a method whereby a set of two delay times are calculated by using both the maximum and minimum values of the slew of a signal waveform at an input terminal of a cell. However, the method is not satisfactory since it involves an increased amount of calculation.